package com.gep.entity;

import java.util.Date;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import javax.persistence.Table;

/**
 * Entidade persistente que representa o ocorrencias das obras
 * @author Bruno Brito Dias
 *
 */
@Entity
@Table(name = "tb_ocorrencia")
public class Ocorrencia {
	
	public Integer codOcorrencia;
	
	public Date dataQuebra;
	
	public String descricao;
	
	public Reparo reparo;
	
	public Motivo motivo;
	
	

	@Id 
	@GeneratedValue(strategy=GenerationType.AUTO)
	@Column (name="cod_ocorrencia", columnDefinition = "int") 
	public Integer getCodOcorrencia() {
		return codOcorrencia;
	}

	public void setCodOcorrencia(Integer codOcorrencia) {
		this.codOcorrencia = codOcorrencia;
	}
	
	@Column(name="dt_quebra" ,columnDefinition="datetime")
	public Date getDataQuebra() {
		return dataQuebra;
	}

	public void setDataQuebra(Date dataQuebra) {
		this.dataQuebra = dataQuebra;
	}

	@Column(name="descricao")
	public String getdescricao() {
		return descricao;
	}

	public void setdescricao(String descricao) {
		this.descricao = descricao;
	}

	@OneToOne(cascade = CascadeType.ALL)
	@JoinColumn(name="cod_reparo")
	public Reparo getReparo() {
		return reparo;
	}

	public void setReparo(Reparo reparo) {
		this.reparo = reparo;
	}
	
	@ManyToOne
	@JoinColumn(name="cod_motivo")
	public Motivo getMotivo() {
		return motivo;
	}

	public void setMotivo(Motivo motivo) {
		this.motivo = motivo;
	}

}
